Anwendungsbeispiel: California Housing Data (1990)

Jede Beobachtung (Zeile) im Datensatz stellt eine sogenannte block group in Kalifornien dar.

Eine 'Block-Gruppe' ist eine statistische Aufteilung von des Volkszählungsamtes der USA, die zwischen 600 und 3000 Menschen umfassen sollten. Anstelle von Block-Gruppe werden wir hier meistens vereinfachend den Begriff Bezirk benutzen.

Beschreibung der Daten

Insgesamt haben wir 20640 Beobachtungen (Bezirke) und 9 metrisch skalierte Merkmale.

Da wir für die Faktoranalyse auch metrisch skalierte Merkmale benötigen, haben wir in diesem Bereich keine Probleme.

Die Merkmale lassen sich also wie folgt beschreiben:

Dabei fällt besonders der Wertebereich von median_income auf. Dies ist wahrscheinlich eine angepasste Skala und kein Einkommen in Dollar.

Wenn wir noch einmal die Beschreibung eines Bezirks anschauen, dann sehen wir, dass in diesem Datensatz einige Ausreißer im Hinblick auf population vorliegen könnten. Denn ein Bezirk sollte hier zwischen 600 und 3000 Menschen umfassen.

Fehlende Werte

Der Datensatz enthält keine fehlenden Werte, wie wir in der pd.info Methode sehen können.

Die Verteilung der Daten

Nun schauen wir uns einige univariate und bivariate Plots der metrischen Merkmale an, um ein Gefühl für die Daten zu bekommen.

Hier sehen wir, dass die vier Merkmale total_rooms, total_bedrooms, population und households eine relativ hohe Schiefe aufweisen. Ebenso hat median_house_value bei circa 500 000 eine hohe Dichte. Dies könnte dadurch begründet sein, dass der Wert 500 000 als obere Grenze benutzt wurde.

Ausreißeranalyse

Bevor wir uns also bivariate Plots ansehen, werden wir mittels LocalOutlierFactor (LOF) versuchen, einige Ausreißer zu eliminieren.

Wir können, sehen, dass der maximale Wert von population nun deutlich niedriger ist. Dennoch gibt es Bezirke mit sehr geringen Einwohnerzahlen (Minimum 3 Einwohner).

Schauen wir uns nun die Verteilungen der Merkmale mittels eines Pairplots genauer an.

In diesem Pairplot sind univariate Plots auf der Hauptdiagonalen und bivariate Plots auf den nicht-diagonalen Elementen. Hier fallen besonders drei Gruppen auf:

Gruppe 1

Die Merkmale longitude und latitude weisen eine relativ hohe negative Korrelation auf.

Gruppe 2

Die Merkmale total_rooms, total_bedrooms, population und households korrelieren hoch miteinander. Dies ist jedoch unter Beachtung der Bedeutung der Merkmale nicht überraschend, da eine hohe Anzahl an Menschen im Bezirk schließlich bedeuten muss, dass mehr Räume existieren und insgesamt die Zahl der Haushälte wohl höher sein muss.

Das Merkmal housing_median_age könnte auch noch zu dieser Gruppe gezählt werden, da es eine leicht negative Korrelation zu diesen vier Merkmalen aufzeigt.

Gruppe 3

Die Merkmale median_income und median_house_value weisen ebenfalls eine sichtbare positive Korrelation auf, aber nicht so stark wie die in Gruppe 2.

Diese drei Gruppen sind unten noch einmal in gesonderten Pairplots dargestellt.

Hier sieht man, dass sich sehr viele Bezirke in zwei Regionen befinden. Dies erklärt die bimodale Struktur der beiden Merkmale longitude und latitude. Weiter unten befindet sich ein Scatter-Plot, der die geographische Verteilung der Bezirke noch genauer zeigt.

Im letzten Pairplot fällt auch wieder die horizontale (bzw. vertikale) Linie bei median_house_value = 500 000 auf.

Geographische Verteilung der Häuserpreise

Zudem können wir uns noch die graphische Verteilung der Häuserpreise ansehen. Unten dargestellt ist ein Scatter-Plot, der die Lage der Bezirke in Abhängigkeit des Medians der Häuserpreise berücksichtigt.

Die Bezirke mit sehr teuren Häusern liegen am unteren Rand, also an der Küste. Zwei große Städte sind im Bild mit einem Pfeil markiert.

Faktoranalyse Schritt 1: Geeignetheit der Daten untersuchen

Zunächst müssen wir die Geeignetheit der Daten für die Faktoranalyse überprüfen. Dafür benutzen wir das Kaiser-Meyer-Olkin-Kriterium (KMO-Kriterium) für den kompletten Datensatz und das dazu verwandte Measure of sampling adequacy (MSA) für jedes einzelne Merkmal.

Generell wollen wir, dass der KMO-Wert über 0.5 ist und der MSA-Wert für jede Variable ebenfalls 0.5 nicht unterschreitet.

Der KMO-Wert ist über 0.6, was auf eine akzeptable Qualität hinweist. Dies ist jedoch kein idealer Wert. Außerdem ist der MSA-Wert für 4 Variablen unter 0.5, jedoch ist der Wert für die anderen Merkmale gut.

Jetzt könnte man beispielweise die Merkmale mit einem MSA-Wert unter 0.5 entfernen. Für dieses Beispiel werden wir allerdings mit allen Variablen fortfahren.

Man sollte sich zudem noch die Korrelationsmatrix direkt anschauen. Dies tun wir im Folgenden mit einer Heatmap, da sie sich sehr gut als visuelle Repräsentation eignet.

Wie wir schon im Pairplot gesehen haben, gibt es drei Gruppen von hoch korrelierten Merkmalen: Die vier Merkmale in der Mitte, sowie housing_median_age mit einer leicht negativen Korrelation zu diesen vier Merkmalen. Ebenso sind Longitude und Latitude negativ miteinander korreliert. Die Merkmale median_income und median_house_value sind positiv miteinander korreliert.

Dies deutet schon darauf hin, dass eine 3-Faktorlösung wahrscheinlich eine gute Wahl von k sein könnte. Im Folgenden werden dies genauer betrachten.

Faktoranalyse Schritt 2: Wahl der Faktorzahl $k$

Um diese Frage zu beantworten, werden wir zunächst alle Faktoren mit der Hauptkomponentenmethode (Principal Component, PC) extrahieren und die Eigenwerte der Faktoren mithilfe eines 'Scree Plots' betrachten.

Dann können wir die Faktoren behalten, die einen Eigenwert größer Eins (Kaiser-Kriterium) haben, oder anhand eines 'Knicks' im Plot eine geeignete Faktorzahl erkennen.

Hier können wir sehen, dass die ersten drei Faktoren einen Eigenwert größer als Eins haben. Dies macht im Hinblick auf die Korrelationsmatrix, die wir vorhin gesehen haben, wegen den drei 'Boxen' auch Sinn. Nach dem Kaiser-Kriterium sollten wir also ein 3-Faktor-Modell benutzen.

Der vierte Faktor ist jedoch nur minimal unter dem Eigenwert Eins, weshalb man diesen auch nicht direkt ausschließen sollte. Ein 'Knick' wäre bei $k = 5$ erkennbar. Wir werden also $k \in [3, 4, 5]$ ausprobieren und den 'Besten' auswählen.

Faktoranalyse Schritt 3: Extrahieren der Faktoren

Jetzt führen wir die eigentliche Faktorextraktion durch.

Dafür werden wir drei unterschiedliche Extraktionsmethoden miteinander vergleichen:

Dabei ist die letzte Variante wohl die am häufigsten eingesetzte Methode (unter diesen drei).

Hier sehen wir in jeder Zeile die Ladungsmatrizen der drei unterschiedlichen Methoden als Heatmap dargestellt. Wir stellen fest, dass die 3-Faktorlösung tatsächlich im Hinblick auf eine einfache Struktur eine gute Lösung darstellt. Die 4-Faktorlösung könnte jedoch auch noch eine valide Lösung sein. Lediglich die 5-Faktorlösung ist problematisch, da kein Merkmal hoch (absoluter Wert größer 0.4) auf den fünften Faktor lädt.

Ein Problem ist jedoch, dass das Merkmal housing_median_age nur bei der PC-Methode sehr hoch auf den vierten Faktor lädt und bei einer 3-Faktorlösung nur eine moderate Ladung auf den ersten Faktor hat. Dies deutet auf eine hohe spezifische Varianz hin, d.h. die Faktoren sind nicht gut in der Lage, die Varianz dieses Merkmals zu erklären.

Wir werden also die 3-Faktorlösung genauer betrachten.

Wir können sehen, dass bei der PC-Methode die Ladungen generell höher ausfallen und dass der zweite Faktor ein unterschiedliches Vorzeichen besitzt, im Gegensatz zu den anderen beiden Methoden.

Die iterierte und nicht-iterierte PAF-Methode sind sehr ähnlich zueinander. Jedoch ist die iterierte Variante oft in Hinblick auf die reproduzierte Korrelationsmatrix besser. Dies können wir anhand des root mean squared error (RMSE) untersuchen:

Der root mean squared error of residuals (RMSE) ist bei der iterierten PAF-Methode am geringsten, gefolgt von der nicht-iterativen Variante und der Hauptkomponentenmethode.

Schauen wir uns nun noch die Kommunalitäten der Variablen an. Dies zeigt uns zum Beispiel die print_summary Methode an:

Die spezifische Varianz von housing_median_age ist mit einem Wert von 0.8980 sehr hoch. Das bedeutet, dass die Faktoren die Varianz dieses Merkmals gemeinsam nicht besonders gut erklären können. Dies spiegelt sich ebenfalls in den geringen Ladungen auf die drei Faktoren wider. Die spezifischen Varianzen bei den restlichen Merkmalen sind jedoch sehr niedrig, was ein gutes Zeichen für die Qualität der Faktorlösung ist.

Da das Merkmal housing_median_age eine sehr hohe spezifische Varianz (geringe Kommunalität) aufweist können wir auch ein 3-Faktor-Modell ohne diesem Merkmal anschauen. Dieses kann den RMSE um knapp 44% reduzieren (im Vergleich sind die iterierten PAF-Methoden), weshalb wir dieses Merkmal für die weitere Analyse entfernen.

Den Unterschied zwischen den Methoden im RMSE können wir auch noch grafisch analysieren:

Bevor wir zur Faktorrotation und -interpretation kommen, werden wir noch die verschiedenen initialen Schätzungen der Kommunalitäten in der (iterierten) PAF-Methode vergleichen. Interessant könnte dabei sein, ob die Wahl der initialen Schätzung einen Einfluss auf die finalen Ladungen hat.

Wir können sehen, dass nur geringe Unterschiede zwischen den unterschiedlichen initialen Schätzungen in den Ladungen feststellbar sind. Nur in der nicht-iterierten Variante der PAF-Methode können wir einige Unterschiede, vor allem im zweiten Faktor feststellen. Beispielsweise hat der zweite Faktor hier ein unterschiedliches Vorzeichen, jedoch nur, wenn Einsen als Kommunalitätsschätzung benutzt wurden. In diesem Fall ist das Ergebnis identisch zur Hauptkomponentenmethode.

Wir stellen fest, dass die iterierte Variante jedoch eine unterschiedliche Anzahl an Iterationen benötigt, bis das Konvergenzkriterium erreicht wird. Am langsamsten ist es auf diesem Datensatz im Falle von Einsen (10 Iterationen) und am schnellsten ist es bei den maximalen absoluten Korrelationen (MAC) (nur 3 Iterationen). Ist das Konvergenzkriterium erfüllt, sind die Ladungen jedoch bei allen drei initialen Schätzungen weitestgehend identisch.

Faktoranalyse Schritt 4: Faktorrotation und -interpretation

Jetzt rotieren wir die Ladungen mit der Varimax-Methode und versuchen, die Faktoren zu interpretieren.

Müssten wir die Faktoren interpretieren, könnte man sagen, dass

Faktoranalyse Schritt 5: Die Faktorwerte bestimmen

Als letzten Schritt können wir noch einen Blick auf die geschätzten Faktorwerte werfen. Wie hätte als der Bezirk $i$ die drei oben beschriebenen Faktoren bewertet?

Die hier benutzte Methode zur Schätzung der Faktorwerte ist die Regressionsmethode, welche eine multivariate lineare Regression benutzt, um die Faktorwerte zu schätzen.

Hier weisen die Faktorwerte keine Einheitsvarianz beziehungsweise Standardabweichung von eins auf, weil die PAF-Methode mit quadrierten multiplen Quadraten als initiale Schätzung verwendet wurde.

Benutzt man jedoch die Hauptkomponentenmethode, so weisen die Faktorwerte eine Standardabweichung von Eins auf.